<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div id="title"></div>
    <div id="desc"></div>
    <script>
      // 上一个页面传来的参数（字符串）
      // const params = location.search;
      // console.log(params);
      //1、封装获取参数函数
      function getQueryArgs() {
        //2、获取查询你的字符串并去除开头的问号
        var qs = location.search.length > 0 ? location.search.substring(1) : "";
        console.log(qs);
        //3、操作设置
        //3-1、设置存储
        var args = {}; //来存储参数对象
        //3-2、切割
        var items = qs.length ? qs.split("&") : [];
        console.log(items);
        var item = null; //用来再次分割
        var _key = null; //用来存key
        var _val = null; //用来存value
        //3-3、将每一项参数操作，切割，赋值存储
        for (var i = 0; i < items.length; i++) {
          //3-4、切割 =
          item = items[i].split("=");
          console.log(item);
          //decodeURIComponent 是一个 JavaScript 函数，用于解码经过 URI 组件编码的字符串。这个函数会将百分号编码的字符转换回它们对应的字符;例如，如果你有一个经过 URI 编码的字符串，比如 "Hello%20World%21"，使用 decodeURIComponent 函数可以将其解码为 "Hello World!"
          _key = decodeURIComponent(item[0]);
          _value = decodeURIComponent(item[1]);
          console.log(_key, _value);
          //3-5、赋值存储
          if (_key.length) {
            args[_key] = _value;
            console.log(args);
          }
        }
        return args;
      }

      let obj = getQueryArgs();
      document.getElementById("title").innerText = obj.title;
      document.getElementById("desc").innerText = obj.desc;
    </script>
  </body>
</html>
